package domain

import "k8s.io/api/apps/v1"

type K8sRequest struct {
	ConfigFileStr string `json:"configFileStr"`
	DeploymentYmlText string `json:"deploymentYmlText"`
}

type K8sPodBaseRequest struct {
	ConfigFileStr string `json:"configFileStr"`
	Namespace string `json:"namespace"`
	PodName string `json:"podName"`
}

type K8sReplicaSetRequest struct {
	ConfigFileStr string `json:"configFileStr"`
	Namespace string `json:"namespace"`
	ReplicaSetName string `json:"replicaSetName"`
}

type K8sDeployBaseRequest struct {
	ConfigFileStr string `json:"configFileStr"`
	Namespace string `json:"namespace"`
	DeploymentName string `json:"deploymentName"`
}

type K8sDeploymentData struct {
	Name string
	Status v1.DeploymentStatus
	Spec v1.DeploymentSpec
}

type K8sMetricsData struct {
	Cpu float64
	Mem int64
	PodName string
}

type K8sRollbackRequest struct {
	ConfigFileStr string `json:"configFileStr"`
	Namespace string `json:"namespace"`
	DeploymentName string `json:"deploymentName"`
	RollbackReplicaSetName string `json:"rollbackReplicaSetName"`
}